Android — DrawerLayout/NavigationView/ToolsBar 侧滑栏的实现
前言
本来在新建项目的时候有侧滑栏模板可以选择,但是用到了很多作为比较常见的MD风格的控件,还是需要自己写一遍。实现一个侧滑栏不仅可以学习以上三个布局/控件,还能学到沉浸式状态栏的实现,还是很有价值的,同时也踩踩坑。
学习的过程中主要是参考了以下这篇博文,讲的是非常详细,还是很nice的:
https://www.jianshu.com/p/d70cfd724c7f
注意
这里其实坑还是有的,需要注意以下几点:
该Activity类需要继承至AppCompatActivity,而不是Activity。继承至Activity在写setSupportActionBar(mToolbar)会直接报错,emmmm,是时候要总结以下两者的区别的。
实例化NavigationView/Toolsbar的时候,需要加上前缀,即:
12private android.support.design.widget.NavigationView mMenuView;private android.support.v7.widget.Toolbar mToolbar;兼容更多API版本。
NavigationView中的menu菜单的中的item只显示标题,不显示icon。网上找了一大堆,都是要重写onCreatOptionsMenu()方法,但是为什么我的不行呢。最后发现:
123//将Icon显示为它本身的颜色竟然解决了不显示icon的问题mMenuView = findViewById(R.id.navigation_view);mMenuView.setItemIconTintList(null);我设置的icon也不是无色透明的呀。
想仿照网易云的侧滑栏,但是在NavigationView的布局下面添加布局是显示不出来的,所以这算是一个问题,网上写的侧滑栏也是类似以下:
网易云侧滑栏:
如果你有什么想法,欢迎邮至869759698@qq.com,感激不尽。